package com.hnd.springframerwork.beans.factory.registry;

import com.hnd.springframerwork.beans.BeansException;
import com.hnd.springframerwork.core.io.Resource;
import com.hnd.springframerwork.core.io.ResourceLoader;

import java.io.IOException;

/**
 * 负责资源的获取解析与bean注册到容器中
 * 模版模式
 * 定义获取资源的方法，bean注册到容器中的方法
 */
public interface BeanDefinitionReader {
    BeanDefinitionRegistry  getRegistry();

    ResourceLoader getResourceLoader();

    void loadBeanDefinition(Resource resource)throws BeansException;

    void loadBeanDefinition(Resource... resources) throws BeansException;

    void loadBeanDefinition(String location)throws BeansException;

    void loadBeanDefinition(String... locations)throws BeansException;
}
